import request from '@/utils/request'

/**
 * 获取组织机构树
 * @returns {AxiosPromise}
 */
export function getOrgs () {
  return request({
    url: '/org',
    method: 'get'
  })
}

/**
 * 添加组织机构
 * @param parameter
 * @returns {AxiosPromise}
 */
export function addOrg(parameter) {
  return request({
    url: '/org',
    method: 'post',
    data: parameter
  })
}

/**
 * 修改组织机构
 * @param id
 * @param parameter
 * @returns {AxiosPromise}
 */
export function modifyOrg(id, parameter) {
  return request({
    url: '/org/' + id,
    method: 'put',
    data: parameter
  })
}

/**
 * 删除组织机构
 * @param id
 * @returns {AxiosPromise}
 */
export function removeOrg(id) {
  return request({
    url: '/org/' + id,
    method: 'delete'
  })
}

/**
 * 获取组织机构下的用户
 * @param orgId
 * @returns {AxiosPromise}
 */
export function getOrgUsers(orgId, parameter) {
  return request({
    url: '/org/' + orgId + "/user",
    method: 'get',
    params: parameter
  })
}

/**
 * 组织机构下批量添加用户
 * @param orgId
 * @param parameter
 * @returns {AxiosPromise}
 */
export function addOrgUsers(orgId, parameter) {
  return request({
    url: '/org/' + orgId + "/user",
    method: 'post',
    data: parameter
  })
}

/**
 * 组织机构下批量删除用户
 * @param orgId
 * @param parameter
 * @returns {AxiosPromise}
 */
export function removeOrgUsers(orgId, parameter) {
  return request({
    url: '/org/' + orgId + "/user",
    method: 'delete',
    data: parameter
  })
}

export function getDatasourceListByOrgId(orgId, parameters){
  return request({
    url: '/org/' + orgId + '/datasource',
    method: 'get',
    params: parameters
  })
}

export function addOrgDatasource(orgId, parameters) {
  return request({
    url: '/org/' + orgId + '/datasource',
    method: 'post',
    data: parameters
  })
}

export function updateOrgDatasource(orgId, datasourceId, parameters) {
  return request({
    url: '/org/' + orgId + '/datasource/'+ datasourceId,
    method: 'put',
    data: parameters
  })
}

export function removeOrgDatasource(orgId, projectId) {
  return request({
    url: '/org/' + orgId + '/datasource/'+ projectId,
    method: 'delete',
  })
}
